<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .box {

            height: 100vh;
            background: url(img/雷霆战机背景.jpeg);

        }

        .box>img {
            position: absolute;
            z-index: 100;
            /*  calc 计算 */
            left: calc(50% - 25px);
            top: calc(100% - 120px);
        }

        .zidan {
            position: absolute;
            top: calc(100% - 62px);
            left: calc(50% - 25px);
            width: 20px;
            height: 60px;
            border-top: 1px solid #f00;
            background-image: linear-gradient(rgb(233, 17, 147), rgb(228, 212, 30), rgba(218, 206, 28, 0), rgba(207, 25, 25, 0));
            border-top-left-radius: 100%;
            border-top-right-radius: 100%;
            transition: top 0s linear;
        }

        .zidan2 {
            position: absolute;
            top: calc(100% - 62px);
            left: calc(50% - 25px);
            width: 10px;
            height: 40px;
            border-top: 1px solid #f00;
            background-image: linear-gradient(rgb(176, 160, 242), rgb(236, 222, 132), rgb(252, 252, 250), rgba(255, 0, 0, 0), rgba(225, 29, 29, 0));
            border-top-left-radius: 100%;
            border-top-right-radius: 100%;
            transition: top 0s linear;

        }

        .zidan3 {
            position: absolute;
            top: calc(100% - 62px);
            left: calc(50% - 25px);
            width: 10px;
            height: 40px;
            border-top: 1px solid #f00;
            background-image: linear-gradient(rgb(176, 160, 242), rgb(236, 222, 132), rgb(252, 252, 250), rgba(218, 206, 28, 0), rgba(207, 25, 25, 0));
            border-top-left-radius: 100%;
            border-top-right-radius: 100%;
            transition: top 0s linear;

        }

        .wei {
            content: "";
            position: absolute;
            bottom: 0;
            left: calc(50% + 37px);
            top: calc(100% -10px);
            width: 10px;
            height: 80px;
            background-image: linear-gradient(red, transparent);
            filter: blur(4px) brightness(50);
        }
    </style>
</head>

<body>
    <div class="box">

        <!-- <span class="zidan"></span> -->
        <img src="./img/飞机1.png" alt="">
    </div>
    <script>












        var img = document.querySelector("img");
        var box = document.querySelector(".box");
        /*  var plane = document.querySelector('.box').querySelector('img'); */
        // 1.按上下左右键实现img的移动
        // 1.1加键盘事件
        document.addEventListener("mousemove", function (e) {
            img.style.left = e.clientX - 70 + "px";
            img.style.top = e.clientY - 90 + "px";
            wei.style.left = e.clientX - 2 + "px";
            wei.style.top = e.clientY + 3 + "px";
            var { x, y } = img.getBoundingClientRect();
            switch (e.keyCode) {
                case 37:
                    x -= 5;
                    break;
                case 38:
                    y -= 5;
                    break;
                case 39:
                    x += 5;
                    break;
                case 40:
                    y += 5;
                    break;
                default:
                    break;
            }
            x = x < 0 ? 0 : x;
            y = y < 0 ? 0 : y;
            x = x > window.innerWidth - img.offsetWidth ? window.innerWidth - img.offsetWidth : x;
            y = y > window.innerHeight - img.offsetHeight ? window.innerHeight - img.offsetHeight : y;
            /*  plane.style.transform = plane.style.transform + `translate(${x}px, ${y}px)`; */
            img.style.left = x + "px";
            img.style.top = y + "px";
        })
        window.addEventListener("keydown", function (e) {
          /*   if (e.keyCode == 32) {
                var wei = document.createElement("wei");
                wei.classList.add("wei");
                var { x, y } = img.getBoundingClientRect();
                x += 64;
                y += 80;
                wei.style.top = y + "px";
                wei.style.left = x + "px";
                box.appendChild(wei);
                setTimeout(function () {
                    box.removeChild(wei);
                }, 66)
            } */


            // 当按下空格
            if (e.keyCode == 32) {
                // 当按下空格
                var span = document.createElement("span");
                // 给这个span添加上这个class 会带有相关样式 
                span.classList.add("zidan");
                // 获取小飞机的位置
                var { x, y } = img.getBoundingClientRect();
                // 计算让x的值等于小飞机中间 x - 小飞机宽的一半 + span宽的一半 
                x += 60;
                y += 20;
                // 设置span的初位置
                span.style.top = y + "px";
                span.style.left = x + "px";
                // 将标签添加至页面
                box.appendChild(span);
                // 在标签添加完成后 执行 
                setTimeout(function () {
                    // 标签创建后设置span的过渡时间
                    span.style.transitionDuration = "0.8s";
                    // 设置span位置移动 带有动画效果
                    span.style.top = "-40px";
                    // 等过渡动画执行完毕后删除这个标签 
                    setTimeout(function () {
                        box.removeChild(span);
                    }, 1000)
                }, 0)
            }

        })
        window.addEventListener("keydown", function (e) {
            // 当按下空格
            if (e.keyCode == 32) {
                // 当按下空格
                var span = document.createElement("span");
                // 给这个span添加上这个class 会带有相关样式 
                span.classList.add("zidan2");
                // 获取小飞机的位置
                var { x, y } = img.getBoundingClientRect();
                // 计算让x的值等于小飞机中间 x - 小飞机宽的一半 + span宽的一半 
                x += 20;

                // 设置span的初位置
                span.style.top = y + "px";
                span.style.left = x + "px";
                // 将标签添加至页面
                box.appendChild(span);
                // 在标签添加完成后 执行
                setTimeout(function () {
                    // 标签创建后设置span的过渡时间
                    span.style.transitionDuration = "1s";
                    // 设置span位置移动 带有动画效果
                    span.style.top = "-40px";
                    // 等过渡动画执行完毕后删除这个标签 
                    setTimeout(function () {
                        box.removeChild(span);
                    }, 1000)
                }, 0)
            }

        })

        window.addEventListener("keydown", function (e) {
            // 当按下空格
            if (e.keyCode == 32) {
                // 当按下空格
                var span = document.createElement("span");
                // 给这个span添加上这个class 会带有相关样式 
                span.classList.add("zidan3");
                // 获取小飞机的位置
                var { x, y } = img.getBoundingClientRect();
                // 计算让x的值等于小飞机中间 x - 小飞机宽的一半 + span宽的一半 
                x += 110;

                // 设置span的初位置
                span.style.top = y + "px";
                span.style.left = x + "px";
                // 将标签添加至页面
                box.appendChild(span);
                // 在标签添加完成后 执行
                setTimeout(function () {
                    // 标签创建后设置span的过渡时间
                    span.style.transitionDuration = "1s";
                    // 设置span位置移动 带有动画效果
                    span.style.top = "-40px";
                    // 等过渡动画执行完毕后删除这个标签 
                    setTimeout(function () {
                        box.removeChild(span);
                    }, 1000)
                }, 0)
            }

        })  
    </script>
</body>

</html>